SIMD-oriented Fast Mersenne Twister: a 128-bit Pseudorandom Number Generator
نویسندگان
چکیده
Mersenne Twister (MT) is a widely-used fast pseudorandom number generator (PRNG) with a long period of 2 − 1, designed 10 years ago based on 32-bit operations. In this decade, CPUs for personal computers have acquired new features, such as Single Instruction Multiple Data (SIMD) operations (i.e., 128bit operations) and multi-stage pipelines. Here we propose a 128-bit based PRNG, named SIMD-oriented Fast Mersenne Twister (SFMT), which is analogous to MT but making full use of these features. Its recursion fits pipeline processing better than MT, and it is roughly twice as fast as optimised MT using SIMD operations. Moreover, the dimension of equidistribution of SFMT is better than MT. We also introduce a block-generation function, which fills an array of 32-bit integers in one call. It speeds up the generation by a factor of two. A speed comparison with other modern generators, such as multiplicative recursive generators, shows an advantage of SFMT. The implemented C-codes are downloadable from http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html.
منابع مشابه
An Application of Finite Field: Design and Implementation of 128-bit Instruction-Based Fast Pseudorandom Number Generator
(1) SIMD-oriented Mersenne Twister (SFMT) is a new pseudorandom number generator (PRNG) which uses 128-bit Single Instruction Multiple Data (SIMD) operations. SFMT is designed and implemented on C language with SIMD extensions and also implemented on standard C without SIMD. (2) Properties of SFMT are studied by using finite field theories, and they are shown to be equal or better than Mersenne...
متن کاملMersenne Twister and Fubuki Stream/block Cipher
We propose two stream ciphers based on a non-secure pseudorandom number generator (called the mother generator). The mother generator is here chosen to be the Mersenne Twister (MT), a widely used 32-bit integer generator having 19937 bits of internal state and period 219937 − 1. One proposal is CryptMT, which computes the accumulative product of the output of MT, and use the most significant 8 ...
متن کاملLibrary of random number generators based on SSE command set
Pseudo random numbers, generated recursively by deterministic rules, represent one of important ingredients in algorithms for numerical simulations such as molecular dynamics and of Monte Carlo simulations, widely used in physics, chemistry, material science and cryptography [1]. It is a great challenge to design random number generators (RNGs) producing pseudo random numbers that behave as rea...
متن کاملA PRNG specialized in double precision floating point numbers using an affine transition
We propose a pseudorandom number generator specialized to generate double precision floating point numbers. It generates 52-bit pseudorandom patterns supplemented by a constant most significant 12 bits (sign and exponent), so that the concatenated 64 bits represents a floating point number obeying the IEEE 754 format. To keep the constant part, we adopt an affine transition function instead of ...
متن کاملCryptographic Mersenne Twister and Fubuki Stream/block Cipher
We propose two stream ciphers based on a non-secure pseudorandom number generator (called the mother generator). The mother generator is here chosen to be the Mersenne Twister (MT), a widely used 32-bit integer generator having 19937 bits of internal state and period 219937 − 1. One proposal is CryptMT, which computes the accumulative product of the output of MT, and use the most significant 8 ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007